\section{Adjacency matrix input file.}
The program accepts input \emph{tab--separated} matrix files (adjacency matrices). Both columns and rows of this matrix are graph vertices. Matrix value \(m(x,y) = 1\) represents a directed edge from vertice \(x\) to vertice \(y\). This representation is then mapped to \emph{networkx} library internal digraph representation.

\section{Circuit.}
Circuit is represented by array of vertices. It is also able to return its \emph{cycle vector space}~\cite{pub:Vismara} representation: $C \in \{0,1\}^{|E|}$, $C[i] = 1 \iff$ edge $i$ belongs to cycle.

Circuit list is sorted in the beginning of \emph{R-Greedy} algorithm (\(O(n log n))\). As algorithm result, circuits are appended to a list (\emph{O(k)} - extension by \(k\) circuits). 

\section{Shortest paths.}
Shortest paths are held in a dictionary (in a \emph{Python} language sense) keyed by a pair of vertices. This type of data structure can be described as a \emph{hash table} (\emph{O(1)} - getting an item). 




